﻿using ProduceBasicData.Domain.Entities;
using ProduceBasicData.Domain.WarehouseManage.WarehouseEnum;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ProduceBasicData.Domain.WarehouseManage
{
    /// <summary>
    /// 出库单表
    /// </summary>
    public class StockOutOrder:BaseModel
    {
        /// <summary>
        /// 系统编码
        /// </summary>
        public string? OrderNumber { get; set; }

        /// <summary>
        /// 出库类型
        /// </summary>
        public StockOutType OutType { get; set; }

        /// <summary>
        /// 关联单号 (如生产单号、销售单号等)
        /// </summary>
        public string? RelatedOrderNumber { get; set; }

        /// <summary>
        /// 源仓库ID
        /// </summary>
        public int? WarehouseId { get; set; }

        /// <summary>
        /// 客户ID
        /// </summary>
        public int? CustomerId { get; set; }

        /// <summary>
        /// 客户名称
        /// </summary>
        public string? CustomerName { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        public StockOutStatus Status { get; set; }

        /// <summary>
        /// 预计出库日期
        /// </summary>
        public DateTime? ExpectedOutDate { get; set; }

        /// <summary>
        /// 实际出库日期
        /// </summary>
        public DateTime? ActualOutDate { get; set; }

        /// <summary>
        /// 备注信息
        /// </summary>
        public string? Remark { get; set; }

        /// <summary>
        /// 领料数量 赋值
        /// </summary>
        public int? Num { get; set; }
    }
}
